Benjamin Otte [Fri, 30 May 2014 02:31:40 +0000 (04:31 +0200)]
reftests: Automatically connect signals
Benjamin Otte [Thu, 29 May 2014 22:21:18 +0000 (00:21 +0200)]
builder: Cleanup
Use the usual way of providing user data to vfuncs:
- Don't allocate it, use the stack
- Use CamelCase for naming the struct
Matthias Clasen [Sat, 31 May 2014 01:47:40 +0000 (21:47 -0400)]
inspector: Handle attribute mapping changes better
When the mapping is changed, notify the property and
queue a draw on the widget. This makes both the inspector
and the app update their display.
Matthias Clasen [Sat, 31 May 2014 01:35:39 +0000 (21:35 -0400)]
inspector: some code reshuffling
Matthias Clasen [Sat, 31 May 2014 00:35:43 +0000 (20:35 -0400)]
inspector: Support saving CSS
We have a file chooser, lets use it.
Matthias Clasen [Fri, 30 May 2014 22:50:07 +0000 (18:50 -0400)]
GtkPrintUnixDialog: Remove some dead code
Automatic template children get cleaned up and NULLed out in destroy,
the g_clear_pointer() calls in finalize never do anything.
Evan Nemerson [Mon, 26 May 2014 16:13:02 +0000 (09:13 -0700)]
gtk: port many nullability annotation fixes from Vala bindings
https://bugzilla.gnome.org/show_bug.cgi?id=730745
Matthias Clasen [Fri, 30 May 2014 17:38:26 +0000 (13:38 -0400)]
Make notebook content redraw during drag
The extra condition here that caused the current child to
not redraw during reordering was introduced in
f383e1f1
during the port to ::draw, but was not explained in the
commit message, and removing it has no obvious negative
effect.
https://bugzilla.gnome.org/show_bug.cgi?id=730767
Matthias Clasen [Fri, 30 May 2014 16:39:07 +0000 (12:39 -0400)]
GtkBuilder: Ensure types are fully initialized
Just calling get_type() does not ensure that the signals, properties
and everything else gets set up properly. Ensure it is, by calling
g_type_class_ref() before using the type. This fixes the testcase
added in the previous commit.
Matthias Clasen [Fri, 30 May 2014 16:09:43 +0000 (12:09 -0400)]
Add a failing builder testcase
This shows <signal> failing because class_init hasn't been run
yet.
Matthias Clasen [Fri, 30 May 2014 11:05:50 +0000 (07:05 -0400)]
GtkActionable: Update the docs
Actionable is no longer restricted to "app" and "win" actions.
Matthias Clasen [Fri, 30 May 2014 01:52:40 +0000 (21:52 -0400)]
GtkScrolledWindow: Add some NULL checks back
Turns out these were not quite redundant, gtk_container_forall
may be called very early during construction.
https://bugzilla.gnome.org/show_bug.cgi?id=730924
Matthias Clasen [Thu, 29 May 2014 14:30:57 +0000 (10:30 -0400)]
Revert "GtkMisc: Keep gtk_misc_set_alignment working"
This reverts commit
aabc356b80fab025d460f61b6c08743b2c10e20d.
Labels are back to looking at x/yalign (for now).
Carlos Garnacho [Wed, 28 May 2014 17:39:07 +0000 (19:39 +0200)]
eventcontroller: Ensure controllers stay alive during event emission
Those might trigger the destruction of some widget that would dispose the
event controller while the event is still being handled, so keep an extra
ref on the controller during event processing.
Carlos Garnacho [Wed, 28 May 2014 13:50:06 +0000 (15:50 +0200)]
docs: Add some more information in the "input handling model" chapter
Grabs/Touch/Gestures are now fairly well covered. Only keyboard handling
is left.
Evan Nemerson [Mon, 26 May 2014 16:37:13 +0000 (09:37 -0700)]
gtk: fix several out argument annotations
These mostly just switch from allow-none to optional, nullable, or
both, as necessary.
https://bugzilla.gnome.org/show_bug.cgi?id=730745
Evan Nemerson [Mon, 26 May 2014 16:42:23 +0000 (09:42 -0700)]
gtk: add missing ownership annotations ported from Vala
https://bugzilla.gnome.org/show_bug.cgi?id=730745
Evan Nemerson [Mon, 26 May 2014 16:41:21 +0000 (09:41 -0700)]
gtk: add missing type annotations ported from Vala bindings
https://bugzilla.gnome.org/show_bug.cgi?id=730745
Evan Nemerson [Mon, 26 May 2014 16:32:32 +0000 (09:32 -0700)]
gtk: fix annotation syntax and missing some missing annotations
These changes clean up various errors and omissions resulting from
either slightly incorrect G-I/gtk-doc syntax or missing documentation
blocks.
https://bugzilla.gnome.org/show_bug.cgi?id=730745
Evan Nemerson [Mon, 26 May 2014 16:29:56 +0000 (09:29 -0700)]
gtk: port missing array annotations from Vala bindings
https://bugzilla.gnome.org/show_bug.cgi?id=730745
Evan Nemerson [Mon, 26 May 2014 16:24:00 +0000 (09:24 -0700)]
gtk: fix many callback annotations to include closure information
Without this information introspection-based consumers don't realize
they can include context information, but instead think that they
receive an extra gpointer argument (which they don't know how to
handle).
https://bugzilla.gnome.org/show_bug.cgi?id=730745
Matthias Clasen [Tue, 27 May 2014 23:15:40 +0000 (19:15 -0400)]
Add some gesture tests
This test starts to assemble tests related to event propagation,
interaction with traditional event signal handlers, claiming of
events, etc.
Matthias Clasen [Tue, 27 May 2014 21:56:39 +0000 (17:56 -0400)]
Forgotten file
Oops.
Matthias Clasen [Tue, 27 May 2014 21:49:22 +0000 (17:49 -0400)]
Bump version
Matthias Clasen [Tue, 27 May 2014 19:54:38 +0000 (15:54 -0400)]
Move extract-strings to its own directory
This will hopefully help resolve the circular dependency between
libgtk linking against inspector/libgtkinspector and inspector/
needing extract-strings from gtk/.
I didn't preserve the EXEEXT decorations in this operation -
automake gave me stern warnings about it, so I just dropped them
all. Somebody who cross-builds GTK+ will have to reconstruct this.
Matthias Clasen [Tue, 27 May 2014 19:14:02 +0000 (15:14 -0400)]
Fix distcheck
Matthias Clasen [Tue, 27 May 2014 17:23:07 +0000 (13:23 -0400)]
3.13.2
Matthias Clasen [Tue, 27 May 2014 18:30:47 +0000 (14:30 -0400)]
Don't assert in gtk_event_controller_constructed
This prevents some of our generic object implementation tests
from working with gesture objects. Instead, add g_return_if_fail
checks in all the gesture constructors.
Matthias Clasen [Tue, 27 May 2014 17:40:57 +0000 (13:40 -0400)]
Documentation fixes
Add a few missing symbols, and match up parameters in headers
and doc comments.
Kristian Høgsberg [Mon, 26 May 2014 21:45:21 +0000 (14:45 -0700)]
wayland: Use event->key.time for setting key event time
We were using event->button.time before. That works because it's part of
the common event header, but it's wrong.
Kristian Høgsberg [Mon, 26 May 2014 20:43:48 +0000 (13:43 -0700)]
wayland: Remove unused XSERVER_TIME_IS_LATER macro
Matthias Clasen [Tue, 27 May 2014 16:45:04 +0000 (12:45 -0400)]
Silence gtk-doc warnings
Matthias Clasen [Tue, 27 May 2014 17:08:25 +0000 (13:08 -0400)]
Revert "GtkImage: Drop use of GtkMisc::x/yalign"
This reverts commit
54d5b426fca71dcda22ea5467054fa801556c20a.
Conflicts:
gtk/gtkimage.c
Matthias Clasen [Tue, 27 May 2014 17:07:03 +0000 (13:07 -0400)]
Revert "GtkLabel: Drop use of GtkMisc::x/yalign"
This reverts commit
b320c198b6d325c35e6f6d32f4f841a913efa956.
Matthias Clasen [Tue, 27 May 2014 17:04:43 +0000 (13:04 -0400)]
Revert "Fix up GtkLabel and GtkImage sizing"
This reverts commit
3b30cfa344ebc035ae7318dda5cfa11b8ab3aee7.
Matthias Clasen [Tue, 27 May 2014 17:04:34 +0000 (13:04 -0400)]
Revert "More label and image sizing fixes"
This reverts commit
68c1e83cf0fd7432dbb151ff351ce225708e3ffb.
Carlos Garnacho [Tue, 27 May 2014 09:44:45 +0000 (11:44 +0200)]
window: Do not raise border windows on each size allocation
This prevents these windows from being raised above popovers, which
is about the only child widget that may overlap with those anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=730589
Carlos Garnacho [Tue, 27 May 2014 15:37:07 +0000 (17:37 +0200)]
treeview: Make the multipress gesture listen only to bin_window
This gesture is meant to handle row-activated signaling, so make the
gesture ignore events from any other window.
Carlos Garnacho [Tue, 27 May 2014 15:35:36 +0000 (17:35 +0200)]
button: Claim the sequence on multipress::pressed
In order to avoid the event from bubbling, as it used to (not) do.
Carlos Garnacho [Tue, 27 May 2014 15:33:31 +0000 (17:33 +0200)]
gesture: Fix wrong assert in gtk_gesture_set_window
The window must be part of the event controller widget, so
fix the inverted logic.
Carlos Garnacho [Tue, 27 May 2014 10:41:30 +0000 (12:41 +0200)]
eventcontroller: Hide more details
Signals are left hidden, so the only entry point to handle_event/reset
is API.
Carlos Garnacho [Tue, 27 May 2014 10:38:49 +0000 (12:38 +0200)]
gtk: Update GtkGesture users to the GtkPropagationPhase semantics change
Mainly doing s/TARGET/BUBBLE/ on the fully ported widgets, but GtkTreeView
where the double click handler has moved to GTK_PHASE_TARGET so it runs
parallelly to the still existing event handlers.
Carlos Garnacho [Tue, 27 May 2014 10:14:52 +0000 (12:14 +0200)]
widget: Change GtkCapturePhase behavior in event controllers' handling
Previously, there would be globally just a capture and a bubble phase,
with the event just going down the hierarchy once, and the up once.
GTK_PHASE_TARGET actually meaning "run within event handlers", so in
a hierarchy of 3 widgets, emission would be:
Capture(C)
Capture(B)
Capture(A)
Target(A) (if event handlers allow)
Bubble(A)
Target(B) (if event handlers allow)
Bubble(B)
Target(C) (if event handlers allow)
Bubble(C)
This commit changes this behavior and uses GTK_PHASE_TARGET in a less
misleading way, running only on the widget that was meant to receive
the event. And GTK_PHASE_BUBBLE has taken over the execution place of
GTK_PHASE_TARGET, so the emission remains:
Capture(C)
Capture(B)
Capture(A)
Target(A)
Bubble(A) (if event handlers allow)
Bubble(B) (...)
Bubble(C) (...)
As it was, GTK_PHASE_BUBBLE was useful for running event controllers
paralelly to event handlers, without modifying a single line in those.
For those mixed scenarios, Any of the other phases will have to be
used at discretion, or the event handlers eventually changed to chain
up and let the default event handlers in GtkWidget to be run.
Carlos Garnacho [Tue, 27 May 2014 10:14:17 +0000 (12:14 +0200)]
window: Avoid double event processing in the multipress event controller
The events to those are fed outside the regular event propagation scheme,
through _gtk_window_check_handle_wm_event(), so set the controller to
GTK_PHASE_NONE so events aren't processed first manually, and then
automatically.
Carlos Garnacho [Mon, 26 May 2014 12:32:59 +0000 (14:32 +0200)]
gesturezoom: Just return a double in get_scale_delta()
Checking whether the gesture is active is a responsibility of the caller.
Carlos Garnacho [Mon, 26 May 2014 12:29:17 +0000 (14:29 +0200)]
gesturerotate: Just return a double in get_angle_delta()
Whether the gesture is active or recognized should be checked before in
callers, or just not used naively.
Carlos Garnacho [Mon, 26 May 2014 12:02:30 +0000 (14:02 +0200)]
gesture: Replace gtk_gesture_attach/detach with event controller API
Event controllers now auto-attach, and the GtkCapturePhase only determines
when are events dispatched, but all controllers are managed by the widget wrt
grabs.
All callers have been updated.
Carlos Garnacho [Mon, 26 May 2014 10:38:06 +0000 (12:38 +0200)]
gtk: Update callers of GtkGesturePan orientation
Carlos Garnacho [Mon, 26 May 2014 10:08:55 +0000 (12:08 +0200)]
eventcontroller: Make the event-mask property and methods private.
This will rarely have any use if no subclassing is allowed, so just make it
private for our own.
Carlos Garnacho [Mon, 26 May 2014 09:58:18 +0000 (11:58 +0200)]
gtk: Replace GtkPanOrientation with GtkOrientation
And document GtkOrientation to be more generic. There's little added
value in a separate enum for this.
Matthias Clasen [Tue, 27 May 2014 10:00:21 +0000 (06:00 -0400)]
More label and image sizing fixes
Go back to respecting GtkMisc::xpad/ypad. Not doing so breaks
the misc-alignment reftest. As long as we still derive from
GtkMisc, we may as well do this.
Matthias Clasen [Tue, 27 May 2014 04:21:46 +0000 (00:21 -0400)]
Fix up GtkLabel and GtkImage sizing
When GtkMisc was removed, I forgot to apply the style context
padding. This caused the info-bar-message-types reftest to fail.
Matthias Clasen [Tue, 27 May 2014 03:15:53 +0000 (23:15 -0400)]
Don't use hicolor as the default icon-theme
The icontheme lookup code has a special-case that prefers builtin icons
if the theme name is "hicolor". This is problematic for our reftests,
which run in a barebones environment with not settings.
Matthias Clasen [Mon, 26 May 2014 14:37:34 +0000 (10:37 -0400)]
docs: enum cleanup
Move GtkIMPreeditStyle nad GtkIMStatusStyle to the settings where
they are solely used.
Matthias Clasen [Mon, 26 May 2014 14:24:02 +0000 (10:24 -0400)]
docs: enum cleanup
Move GtkStateType to the GtkWidget apis where it is used, and
mark the enum as deprecated.
Matthias Clasen [Mon, 26 May 2014 14:17:07 +0000 (10:17 -0400)]
docs: remove markup
The overview chapters don't go through shorthand processing, so
don't use them there.
Kalev Lember [Mon, 19 May 2014 11:19:11 +0000 (13:19 +0200)]
GtkApplication: Fix two muxer-related memory leaks
Drop the ref on the action muxer in finalize, and also make sure
shutdown() tears down the muxer setup done in startup().
When GtkApplication adds itself to a muxer, it causes the muxer to take
a ref on the GtkApplication. This has to be undone in shutdown() to make
sure the GtkApplication doesn't end up holding a ref on itself.
https://bugzilla.gnome.org/show_bug.cgi?id=730383
Matthias Clasen [Sun, 25 May 2014 03:30:01 +0000 (23:30 -0400)]
inspector: Allow changing attribute mappings
Matthias Clasen [Sun, 25 May 2014 00:46:30 +0000 (20:46 -0400)]
docs: Move GdkColor off into a deprecated section
Kalev Lember [Sat, 24 May 2014 22:17:55 +0000 (00:17 +0200)]
Bump ATK dependency to 2.12
... for the new AtkValue interface that we implement.
Matthias Clasen [Sat, 24 May 2014 22:41:16 +0000 (18:41 -0400)]
Some more updates
Matthias Clasen [Sat, 24 May 2014 22:18:36 +0000 (18:18 -0400)]
Typo fixes
Matthias Clasen [Sat, 24 May 2014 15:16:35 +0000 (11:16 -0400)]
Organize the icons
Sort the icon list in check-icon-theme.c, and add
comments so we have a chance of keeping the order.
Matthias Clasen [Sat, 24 May 2014 15:06:10 +0000 (11:06 -0400)]
Drop an unused object
A downside of using templates is that we can have 'parasitic'
objects in there that don't get used for anything.
Matthias Clasen [Sat, 24 May 2014 15:01:27 +0000 (11:01 -0400)]
GtkIconTheme: Add more debug spew
Still trying to track down test problems in gnome-continuous.
Jasper St. Pierre [Sat, 24 May 2014 03:01:27 +0000 (23:01 -0400)]
wayland: Add support for show_window_menu
Benjamin Otte [Sat, 24 May 2014 17:38:56 +0000 (19:38 +0200)]
image: Draw the image again
An important line of code was removed in
54d5b426fca71dcda22ea5467054fa801556c20a that lead to an undefined
variable. Add that line back.
Benjamin Otte [Sat, 24 May 2014 14:21:02 +0000 (16:21 +0200)]
combobox: Implement clip
Benjamin Otte [Sat, 24 May 2014 14:20:48 +0000 (16:20 +0200)]
entry: Implement clip
Benjamin Otte [Sat, 24 May 2014 14:16:41 +0000 (16:16 +0200)]
gestureswipe: Fix return value
Benjamin Otte [Sat, 24 May 2014 14:16:32 +0000 (16:16 +0200)]
image: Remove unused variable
Benjamin Otte [Fri, 23 May 2014 14:01:45 +0000 (16:01 +0200)]
button: Implement clip
Benjamin Otte [Fri, 23 May 2014 13:52:16 +0000 (15:52 +0200)]
widget: Include box-shadow in the clip
This allows all widgets that implement clip to use box shadows.
Benjamin Otte [Wed, 21 May 2014 21:13:52 +0000 (23:13 +0200)]
widget: Add _gtk_widget_set_css_clip()
... and use it in GtkBox and GtkGrid.
Benjamin Otte [Mon, 19 May 2014 13:33:28 +0000 (15:33 +0200)]
spinner: Implement clip
We now allow you to gtk-icon-transform() the spinner outside of the
spinners allocation.
Benjamin Otte [Sun, 18 May 2014 14:02:04 +0000 (16:02 +0200)]
API: widget: Add gtk_widget_set_clip() API
And handle the fact that drawing bounds are now handled by this API and
the corresponding gtk_widget_get_clip().
Also add _gtk_widget_supports_clip() function to check if a widget has
been ported to the new world.
Matthias Clasen [Sat, 24 May 2014 14:07:46 +0000 (10:07 -0400)]
docs: Flesh out the inspector section a bit
Matthias Clasen [Sat, 24 May 2014 13:54:06 +0000 (09:54 -0400)]
inspector: Make picking widgets work again
This broke when I accidentally removed the line that adds
each object to the hash table. Bring it back.
Rico Tzschichholz [Sat, 24 May 2014 10:16:56 +0000 (12:16 +0200)]
docs: Fix make dist
Rico Tzschichholz [Sat, 24 May 2014 07:52:41 +0000 (09:52 +0200)]
build: Fix typo
Rico Tzschichholz [Sat, 24 May 2014 07:24:46 +0000 (09:24 +0200)]
gtk: Fix make dist
Rico Tzschichholz [Sat, 24 May 2014 07:23:52 +0000 (09:23 +0200)]
build/win32: Drop a11y library references
In addition to
4a4b23bfad8b30372f78b75e1eb5e68279ff5b09
Rico Tzschichholz [Sat, 24 May 2014 07:22:53 +0000 (09:22 +0200)]
Updated POTFILES.in
Matthias Clasen [Sat, 24 May 2014 05:56:44 +0000 (01:56 -0400)]
docs: more input handling docs
Matthias Clasen [Sat, 24 May 2014 04:47:16 +0000 (00:47 -0400)]
Fix a start/end mixup
The headerbar example in gtk3-demo was showing two start buttons
after the arrow removal.
Matthias Clasen [Fri, 23 May 2014 09:56:52 +0000 (05:56 -0400)]
GtkMisc: Keep gtk_misc_set_alignment working
Now that labels and images no longer use x/yalign in their code,
we need to make gtk_misc_set_alignment set the h/valign for these
widgets, to keep it stumbling along until its final demise.
https://bugzilla.gnome.org/show_bug.cgi?id=730613
Matthias Clasen [Fri, 23 May 2014 02:54:18 +0000 (22:54 -0400)]
GtkToolButton: Drop use of GtkMisc
Use h/valign instead of x/yalign.
https://bugzilla.gnome.org/show_bug.cgi?id=730613
Matthias Clasen [Fri, 23 May 2014 02:53:52 +0000 (22:53 -0400)]
GtkAssistant: Drop use of GtkMisc
Use halign instead of xalign.
https://bugzilla.gnome.org/show_bug.cgi?id=730613
Matthias Clasen [Fri, 23 May 2014 02:53:17 +0000 (22:53 -0400)]
GtkAccelLabel: Drop use of GtkMisc
Just use 0 instead of xpad.
https://bugzilla.gnome.org/show_bug.cgi?id=730613
Matthias Clasen [Fri, 23 May 2014 02:51:00 +0000 (22:51 -0400)]
GtkImage: Drop use of GtkMisc::x/yalign
Instead, use GtkWidget::h/valign to position the image inside
the allocation. And just stop using GtkMisc::x/ypad.
https://bugzilla.gnome.org/show_bug.cgi?id=730613
Matthias Clasen [Fri, 23 May 2014 01:19:49 +0000 (21:19 -0400)]
GtkLabel: Drop use of GtkMisc::x/yalign
Instead, use GtkWidget::h/valign to position the text inside
the allocation. And just stop using GtkMisc::x/ypad.
https://bugzilla.gnome.org/show_bug.cgi?id=730613
Matthias Clasen [Sat, 24 May 2014 04:00:00 +0000 (00:00 -0400)]
Fix filechooser actionbar visibility
The actionbar was always visible, even when there is no filter
and no extra widget to show. Now we only show it when there is
something to show.
Matthias Clasen [Sat, 24 May 2014 03:00:43 +0000 (23:00 -0400)]
inspector: Treat resources the same as in gtk/
Matthias Clasen [Sat, 24 May 2014 02:59:22 +0000 (22:59 -0400)]
Add two more icon names to check
These were found in the trash monitor.
Matthias Clasen [Sat, 24 May 2014 02:00:51 +0000 (22:00 -0400)]
Drop no-longer-used gtkrc files
These were replaced by css files long ago.
Matthias Clasen [Sat, 24 May 2014 01:56:44 +0000 (21:56 -0400)]
Drop a pointless function
No need to have a finalize function if it just chains
up to the parent class.
Matthias Clasen [Sat, 24 May 2014 01:41:58 +0000 (21:41 -0400)]
Trivial: slight code rearrangement
Matthias Clasen [Sat, 24 May 2014 00:42:47 +0000 (20:42 -0400)]
tests: Stop using GtkAlignment
Fix up all other tests to not use GtkAlignment anymore.
Matthias Clasen [Sat, 24 May 2014 00:42:01 +0000 (20:42 -0400)]
testadjustsize: Keep using an alignment
We are explicitly comparing GtkAlignment with its replacements
here.
Matthias Clasen [Wed, 14 May 2014 03:18:17 +0000 (23:18 -0400)]
gtk-demo: Drop use of GtkAlignment